package network.step4;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

//스레드의 흐름을 그려보고 일단 전체 그림을 파악하자.
public class SimpleServer4 {
	/*
	 * Main Thread - 클라이언트의 연결을 대기하는 작업(무한 반복)
	 * 1. 연결대기
	 * 2. ServerThread를 스타트
	 */
	
	
	public static void main(String[] args) throws IOException {
		
		ServerSocket serverSocket = new ServerSocket(5000);
		Socket socket = null;
		
		while(true){
			System.out.println("==========연결 대기 ==========");
			socket = serverSocket.accept();
			
			//이게 중요하다. 완벽하게 이해해야 한다.
			//while문 안에 있는 것도 이해해라.
			ServerThread st = new ServerThread(socket);
			new Thread(new ServerThread(socket)).start();
			
			System.out.println("==========연결 완료 ==========");
			
		} 
	}
}
